/***************************************************************************
 创建者: 华磊
 开始时间: 2018.8.14
 copyright: (C) 华友高科
 修改说明: (每次有修改就添加一条，带有 修改人，修改时间，修改描述)
 example (1) hualei 2017.5.8 类的具体实现代码编写

 ***************************************************************************
 *  @file x.h
 *  功能:
 *
 *                                                                         *
 ***************************************************************************/
#ifndef MOTIONINSTRUCTION_H
#define MOTIONINSTRUCTION_H

#include "instructionEnum.h"
/**
 * @brief The MotionInstruction class  　指令信息提取类
 */
class MotionInstruction
{
public:
    MotionInstruction();


    /**
     * @brief motionFormat          运动指令类型J，L，C，A
     */
    MOTION_FORMAT motionFormat;
    /**
     * @brief rateFormat           运动速度单位 PERCENT,MM_SEC,CM_MIN
     */
    FEED_RATE_FORMAT rateFormat;
    /**
     * @brief positionFormat        点位信息存储P【】，PR【】
     */
    POSITION_FORMAT positionFormat;
    /**
     * @brief cntFormat             CNT格式，CNT或者FINE
     */
    CNT_FORMAT cntFormat;
    /**
     * @brief palNum                码垛编号
     */
    int palNum;
    /**
     * @brief p                     点号
     */
    int p;
    /**
     * @brief rate                  速率
     */
    double rate;
    /**
     * @brief cnt                   平滑度cnt
     */
    short cnt;
    /**
     * @brief acc
     */
    short acc;
    /**
     * @brief smoothFlag            平滑标志
     */
    SMOOTHING_FLAG smoothFlag;

    /**
     * @brief endFlag               平滑规划的结束标志，当遇到for，jump时就会添加endFlag
     */
    int endFlag;
    /**
     * @brief circleFlag            圆弧标志
     */
    CIRCLE_FLAG circleFlag;
//    /**
//     * @brief userNum               当前运动指令所属的用户坐标号
//     */
//    int userNum;
//    /**
//     * @brief toolNum               当前运动指令所属的工具坐标号
//     */
//    int toolNum;
//    /**
//     * @brief posType               当前保存点位信息的格式（X、Y、Z、W、P、R）或者是（deg）
//     */
//    int posType;

    ADDRESSING_TYPE pointType;

    ADDRESSING_TYPE lblType;

    MOTION_OFFSET_TYPE motionOffsetType;
    int offsetPrIndex;//Pr[offsetPrIndex]补偿的index

    MOTION_TOOL_OFFSET_TYPE motionToolOffsetType;

    MOTION_WJNT_TYPE motionWjntType;

    MOTION_INC_TYPE motionIncType;

    MOTION_PTH_TYPE motionPthType;

    MOTION_DI_TYPE motionDiType;

    int motionOffsetValue;//?什么作用PR[R[motionOffsetValue]]

    int motionToolOffsetValue;

    int evFlag;

    int evValue;

    int diValue;

    QString  lblValue;

    QString comment;
};

#endif // MOTIONINSTRUCTION_H

